Интерпретатор

Язык TOM2 относится к интерпретируемым языкам и выполняется без какого-либо предварительного преобразования исходных текстов.

Файл игры

Игра для платформы TOM2 представляет собой простой текстовый файл. Рекомендуется использовать расширение .tom (например, my_game.tom).

Модули

Оператор include позволяет подключать дополнительные файлы и формировать модульную структуру игры. Модули можно подгружать в любом месте игры.

include my_module.tml

Для модулей рекомендуется расширение .tml (например, my_module.tml).

Кодировка и формат файлов игры

TOM2 поддерживает следующие кодировки текстовых файлов:

  • cp1251 (Windows)
  • UTF-8 (UNICODE)
  • UTF-16 LE (UNICODE)

По умолчанию предполагается кодировка cp1251. Для unicode-файлов необходимо использовать маркер BOM (Byte Order Mark). Для записи BOM в файл игры необходимо установить соответствующую опцию в текстовом редакторе.

Строки в файле разделяются знаками перевода строки и возврата корретки (0x0D и 0x0A в шестнадцатеричной форме).
ТОМ2 корректно принимает любой способ разделения строк принятый в Windows или в Unix-системах.

Интерпретация кода игры

Чтение кода происходит построчно, поэтому окончание строки является синтаксически значимым. Строки читаются последовательно и распознаются как начало секции, языковая конструкция или вычисляемое выражение и выполняются интерпретатором.
Если строка не соответсвует синтаксису TOML к разбору подключается парсер и делается попытка выполнить строку как команду на естественном языке.
Если и эта попытка завершается неудачно, интерпретатор формирует синтаксическую ошибку и прерывает работу.

Таким образом код игры может представлять собой смесь из скрипта и естественного языка.

Секции

Секция - это область текста, начинающаяся с отделяющей черты. Есть 3 вида секций: код, текст и комментарий.
Пример:

-------------------
<...код...>
<...код...>
<...код...>
===================
текст
текст
текст
*******************
многострочный
комментарий

Секция кода начинается как минимум с двух знаков "--" и содержит операции и конструкции языка TOML.

Текстовая секция начинается со знаков "==" и содержит текст, предначначенный для вывода на экран.
Текст может содержать теги HTML и специальные теги TOML, а также динамически вычисляемые вставки.
По умолчанию весь файл считается единой текстовой секцией и будет выведен на экран полностью, если в нём не определено иных секций.

Секция комментария начинается знаками "**" и может содержать любой многострочный текст, который полностью игнорируется интерпретатором.


Однострочные комментарии

//это комментарий

Любой текст от символов "//" и до конца строки считается комментарием и полностью игнорируется.

Первые 3 строки файла *.tom используются для автоматического построения списка игр и должны содержать:
- Название игры
- Категорию игр
- Автора
Пример:

//Подземелья гномов (демо)
//ИГРЫ
//ASBer

Смотрите также

Типы данных, Операции и функции, Конструкции языка